/**
 * 格式化时间
 * @param date new Date();
 * @param format yyyy-MM-dd HH:mm:ss
 * @returns
 */
export function formatDate(date: Date, format: string): string {
    const year = date.getFullYear();
    const month = (1 + date.getMonth()).toString().padStart(2, '0');
    const day = date.getDate().toString().padStart(2, '0');
    const hours = date.getHours().toString().padStart(2, '0');
    const minutes = date.getMinutes().toString().padStart(2, '0');
    const seconds = date.getSeconds().toString().padStart(2, '0');

    return format.replace('yyyy', year.toString()).replace('MM', month).replace('dd', day).replace('HH', hours).replace('mm', minutes).replace('ss', seconds);
}
/**
 * 计算天数
 * @param dateTime1Str 开始时间
 * @param dateTime2Str 结束时间
 * @returns
 */
export function calculateDaysDiff(dateTime1Str: string, dateTime2Str: string): number {
    // 创建Date对象
    const dateTime1 = new Date(dateTime1Str);
    const dateTime2 = new Date(dateTime2Str);

    // 获取两个日期的小时数
    const hours1 = dateTime1.getHours();
    const hours2 = dateTime2.getHours();

    // 如果任一日期在午夜12点之后，则先加一天
    let daysDiff = hours1 > 0 || hours2 > 0 ? 1 : 0;

    // 计算两个日期之间的差值（不包括时间部分）
    const date1 = new Date(dateTime1.setHours(0, 0, 0, 0));
    const date2 = new Date(dateTime2.setHours(0, 0, 0, 0));

    // 计算不包含时间的日期差（毫秒）
    const diffInMilliseconds = Math.abs(date2 - date1);

    // 将毫秒差转换为天数
    const diffInDays = Math.ceil(diffInMilliseconds / (1000 * 60 * 60 * 24));

    // 将天数加到之前的daysDiff上
    daysDiff += diffInDays;

    return daysDiff;
}
